1
Di Luar Pencarian Linier: Kekuatan Kontainer Asosiatif
AI037Lesson 15
00:00

Bayangkan sebuah perpustakaan di mana buku-buku tidak disusun berdasarkan tanggal kedatangan, tetapi berdasarkan Kunci Universal. Ini adalah perubahan paradigma dari urutan ke Kontainer Asosiatif. Alih-alih memindai sebuah vektor secara linier ($O(N)$), kita menggunakan peta atau set untuk mencapai pencarian dengan waktu logaritmik ($O(\log n)$).

1. Sifat Asosiasi

Dalam sebuah peta, kita menyimpan pasangan kunci-nilai. Kunci bertindak sebagai indeks yang bisa berupa string, objek khusus, atau tipe apa pun yang mendukung Urutan Lemah Ketat. Sebuah set, sebaliknya, hanya menyimpan kunci unik, menjadikannya alat sempurna untuk pengujian keanggotaan atau penyaringan.

Vektor (Berurutan)Set (Asosiatif)[0]"A"[1]"B"[2]"A"(Dup)Penyaring UnikKunci:"A"Kunci:"B"

2. Berurutan vs. Tidak Berurutan

Kontainer standar (peta, set) menyimpan kunci secara terurut. Standar C++11 memperkenalkan varian tidak berurutan (unordered_map) yang menggunakan fungsi hash untuk kinerja rata-rata $O(1)$. Cari logo Logo C++11 saat menggunakan ember-ember performa tinggi ini.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>